package dominio;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import persistenca.Agente;

public class GestorUsuario {
	Agente agente ;
	/**
	 * 
	 * @param b
	 * @throws Exception 
	 */
	public GestorUsuario() throws Exception{
		agente=Agente.getAgente();
	}
	/**
	 * 
	 * @param u
	 * @throws Exception 
	 * @throws SQLException 
	 */
	public int insert(Usuario u) throws SQLException, Exception {
		// TODO - implement GestorUsuario.insert
		return agente.insert("INSERT INTO USUARIOS VALUES ('"+u.getDni()+"','"+u.getNombre()+"','"+u.getApellidos()+"',"+u.getSueldo()+",'"+u.getContrasena()+"');");
		}

	/**
	 * 
	 * @param u
	 */
	public void update(Usuario u) {
		// TODO - implement GestorUsuario.update
		throw new UnsupportedOperationException();
	}

	/**
	 * 
	 * @param u
	 */
	public void delete(Usuario u) {
		// TODO - implement GestorUsuario.delete
		throw new UnsupportedOperationException();
	}

	/**
	 * 
	 * @param u
	 * @throws Exception 
	 * @throws SQLException 
	 */
	public void read(Usuario u) throws SQLException, Exception {
		// TODO - implement GestorUsuario.read
		ResultSet r=agente.select("SELECT * FROM USUARIOS WHERE DNI = '"+u.getDni()+"';");
		
		while(r.next()){
			u.setNombre(r.getString("Nombre"));
			u.setApellidos(r.getString("Apellidos"));
			u.setSueldo(r.getDouble("Sueldo"));
			u.setContrasena(r.getString("Contrasena"));
		}
	}

	public List<Usuario> readAll() throws SQLException, Exception {
		// TODO - implement GestorUsuario.readAll
		List<Usuario> u=new ArrayList<Usuario>();
		ResultSet r=agente.select("SELECT * FROM USUARIOS;");
		while(r.next()){
			u.add(new Usuario(r.getString("Nombre"),r.getString("Apellidos"),r.getString("DNI"),r.getDouble("Sueldo"),r.getString("Contrasena")));
		}
		return u;
	}

}